package com.hnx.admin.aurora.system.domain.vo.meta.entity;

import com.hnx.admin.aurora.api.http.HttpStatusAPI;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;

/*
创建人： 倔强的头发
创建时间：2025/6/17
功能描述:

*/
@Data
@NoArgsConstructor
public class MetaVO implements HttpStatusAPI {
    /**
     * 设置该路由在侧边栏和面包屑中展示的名字
     */
    private String title;

    /**
     * 设置该路由的图标，对应路径src/assets/icons/svg
     */
    private String icon;

    /**
     * 设置为true，则不会被 <keep-alive>缓存
     */
    private boolean noCache;

    /**
     * 内链地址（http(s)://开头）
     */
    private String link;
    public MetaVO(String title, String icon)
    {
        this.title = title;
        this.icon = icon;
    }
    public MetaVO(String title, String icon, String link){
        this.title = title;
        this.icon = icon;
        this.link = link;
    }
    public MetaVO(String title, String icon, boolean noCache)
    {
        this.title = title;
        this.icon = icon;
        this.noCache = noCache;
    }
    public MetaVO(String title, String icon, boolean noCache, String link)
    {
        this.title = title;
        this.icon = icon;
        this.noCache = noCache;
        if (StringUtils.startsWithAny(link, HTTP, HTTPS))
        {
            this.link = link;
        }
    }
}
